package com.testing.class7;

public class RegexTest {
    public static void main(String[] args) {
        String listName="[1, 2, 33, 5, 43, 6, 9, 7, 8, 0]";
//        String result = listName.replace("3", "x");
//        System.out.println(result);
//        result = result.replace("4", "x");
//        System.out.println(result);

//        String result=listName;
//        for (int i=3;i<=7;i++){
//            result=result.replace(i+"","x");
//        }
//        System.out.println(result);


        /**
         * 注意replace和replaceAll方法是有区别的，replace的参数是个oldChar
         * replaceAll的参数名是regex，这个时候就代表可以使用正则表达式。
         */
        String regex="\\d";
        //listName.replace这两个正则表达式是不生效的
        String x = listName.replace(".", "x");
        System.out.println(x);

        //listName.replaceAll 当中会有regex  .匹配除”\r\n”(换行回车)之外的任何单个字符
        String x1 = listName.replaceAll(".", "x");
        System.out.println(x1);

        String x2 = listName.replaceAll("\\d", "x");
        System.out.println(x2);

        //匹配[3-7]当中的任意一个，{2}表示前面最近的元字符出现2次
        String x3 = listName.replaceAll("[3-7]{2}", "roy");
        System.out.println(x3);

        //注意，replaceFirst，替换的是字符串顺序当中的7-9，这里第一个遇到的是9，所以替换了9
        String x4 = listName.replaceFirst("[7-9]", "J");
        System.out.println(x4);

        //String listName="[1, 2, 33, 5, 43, 6, 9, 7, 8, 0]";
        //这里面中括号和逗号都是分隔符
        //用,以及 [和 ]作为分隔符进行分割，注意转义[ 和 ]
        String splitReg="[,\\[\\]]";
        String[] split = listName.split(splitReg);
        for (String s : split) {
            System.out.println(s.trim());
        }

    }
}
